package cn.hamster3.mc.plugin.core.bukkit.command.core;

import cn.hamster3.mc.plugin.core.bukkit.HamsterCorePlugin;
import cn.hamster3.mc.plugin.core.bukkit.command.ParentCommand;
import cn.hamster3.mc.plugin.core.bukkit.command.core.sub.*;
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull;

public class CoreCommand extends ParentCommand {
    public static final CoreCommand INSTANCE = new CoreCommand();

    private CoreCommand() {
        addChildCommand(EnvCommand.INSTANCE);
        addChildCommand(GCCommand.INSTANCE);
        addChildCommand(YamlCommand.INSTANCE);
        addChildCommand(InfoModeCommand.INSTANCE);
        addChildCommand(ReloadCommand.INSTANCE);
        addChildCommand(MemoryCommand.INSTANCE);
        addChildCommand(SystemCommand.INSTANCE);
    }

    @Override
    public @NotNull String getName() {
        return "hamster-core";
    }

    @Override
    public @NotNull JavaPlugin getPlugin() {
        return HamsterCorePlugin.getInstance();
    }
}
